home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Atari Compendium
/
The Atari Compendium (Toad Computers) (1994).iso
/
files
/
compress
/
jrbzoo21.zoo
/
foo.c
< prev
next >
Wrap
C/C++ Source or Header
|
1991-09-25
|
815b
|
32 lines
#define DICBIT 13 /* 12(-lh4-) or 13(-lh5-) */
#define DICSIZ ((unsigned) 1 << DICBIT)
#define PERCOLATE 1
#define NIL 0
#define MAX_HASH_VAL (3 * DICSIZ + (DICSIZ / 512 + 1) * UCHAR_MAX)
typedef short node;
#define UCHAR_MAX 255
static unsigned short *level;
static node pos, matchpos, avail,
*position, *parent, *prev, *next;
static void init_slide()
{
node i;
unsigned short *l, *lh = &level[DICSIZ + UCHAR_MAX];
node *p;
for(l = &level[DICSIZ]; l < lh; ) *l++ = 1;
for (i = DICSIZ; i <= DICSIZ + UCHAR_MAX; i++) {
level[i] = 1;
#ifdef PERCOLATE
position[i] = NIL; /* sentinel */
#endif
}
for (i = DICSIZ; i < DICSIZ * 2; i++) parent[i] = NIL;
for (i = 1; i < DICSIZ - 1; i++) next[i] = i + 1;
for (i = DICSIZ * 2; i <= MAX_HASH_VAL; i++) next[i] = NIL;
}